home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
musicali
/
splib52d.lha
/
superplay-lib_DEV
/
Programmers
/
Example_SPObjects
/
SPO
/
spobject.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-11-15
|
7KB
|
177 lines
/* spobject.h
- Include File for SPO.spobject -
(c) 1993-94 by Andreas R. Kleinert
Last changes : 21.07.1994
*/
#ifndef SPOBJECT_H
#define SPOBJECT_H
#ifndef SUPERPLAY_SUPERPLAYBASE_H
#include <superplay/superplaybase.h>
#endif /* SUPERPLAY_SUPERPLAYBASE_H */
#ifndef SPOBJECTS_SPOBJECTBASE_H
#include <spobjects/spobjectbase.h>
#endif /* SPOBJECTS_SPOBJECTBASE_H
#ifndef INTUITION_INTUITIONBASE_H
#include <intuition/intuitionbase.h>
#endif /* INTUITION_INTUITIONBASE_H */
#ifndef EXEC_MEMORY_H
#include <exec/memory.h>
#endif /* EXEC_MEMORY_H */
#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif /* EXEC_LISTS_H */
#ifndef EXEC_INTERRUPTS_H
#include <exec/interrupts.h>
#endif /* EXEC_INTERRUPTS_H */
#ifndef EXEC_TASKS_H
#include <exec/tasks.h>
#endif /* EXEC_TASKS_H */
#include <libraries/xpk.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/intuition.h>
#include "SP_MemSubs.h"
#include "SP_SampleListSubs.h"
#include "spo.h"
/* *************************************************** */
/* * * */
/* * SP_SuperVisor.c : Functions * */
/* * * */
/* *************************************************** */
extern struct SPObjectHandle * __saveds __asm SPO_AllocHandle( register __a1 APTR future_a1);
extern void __saveds __asm SPO_FreeHandle( register __a1 struct SPObjectHandle *SPObjectHandle_a1);
extern void __saveds __asm SPO_StopReplay( register __a1 struct SPObjectHandle *SPObjectHandle_a1);
extern void __saveds __asm SPO_FreeResources( register __a1 struct SPObjectHandle *SPObjectHandle_a1);
/* *************************************************** */
/* * * */
/* * SP_WriteSubs.c : ... * */
/* * * */
/* *************************************************** */
extern ULONG __saveds __asm SPO_Write( register __a1 struct SPObjectHandle *SPObjectHandle_a1,
register __a2 struct SPObjectBase *SPO_SourceBase,
register __a3 struct SPObjectHandle *source_handle);
/* *************************************************** */
/* * * */
/* * SP_InfoSubs.c : ... * */
/* * * */
/* *************************************************** */
/* PUBLIC functions (high level) */
extern ULONG __saveds __asm SPO_FileInfoRequest( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 struct Window *window, register __a3 ULONG future);
extern ULONG __saveds __asm SPO_CheckFileType(register __a1 BPTR handle, register __a2 UBYTE *filename, register __a3 APTR future);
/* *************************************************** */
/* * * */
/* * SP_ChangeSubs.c : ... * */
/* * * */
/* *************************************************** */
extern ULONG __saveds __asm SPO_SetAccessMode( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __d1 ULONG mode);
extern ULONG __saveds __asm SPO_SetWriteSubType( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 ULONG akt_type, register __a3 APTR future);
extern ULONG __saveds __asm SPO_SetReadName( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 char *readname, register __a3 APTR future);
extern ULONG __saveds __asm SPO_SetWriteName( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 char *writename, register __a3 APTR future);
extern ULONG __saveds __asm SPO_SetReqIOWindow( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 struct Window *ReqIOWindow);
extern ULONG __saveds __asm SPO_GetSampleBuffer( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 UBYTE **buffer, register __a3 ULONG *buffersize);
extern ULONG __saveds __asm SPO_GetSampleInfo( register __a1 struct SPObjectHandle *SPObjectHandle_a1, register __a2 ULONG *samplesPerSec, register __a3 ULONG *volume, register __d1 APTR future);
/* *************************************************** */
/* * * */
/* * SP_PlaySubs.c : ... * */
/* * * */
/* *************************************************** */
extern ULONG __saveds __asm SPO_Read( register __a1 struct SPObjectHandle *SPObjectHandle);
extern ULONG __saveds __asm SPO_StartReplay( register __a1 struct SPObjectHandle *SPObjectHandle);
extern ULONG __saveds __asm SPO_ContinueReplay( register __a1 struct SPObjectHandle *SPObjectHandle_a1);
extern ULONG __saveds __asm SPO_FastForward( register __a1 struct SPObjectHandle *SPObjectHandle_a1);
extern ULONG __saveds __asm SPO_FastBackward( register __a1 struct SPObjectHandle *SPObjectHandle_a1);
/* *************************************************** */
/* * * */
/* * Additional Base Declarations * */
/* * * */
/* *************************************************** */
extern struct SPObjectBase *SPObjectBase;
extern struct ExecBase *SysBase;
extern struct DosLibrary *DOSBase;
extern struct IntuitionBase *IntuitionBase;
extern struct XpkBase *XpkBase;
/* structures for File-Handling */
struct SPObjectHandle /* STRICTLY PRIVATE */
{
BPTR ah_filehandle_source;
BPTR ah_filehandle_dest;
BPTR ah_filehandle_dest2;
char *ah_ReadName;
char *ah_WriteName;
struct Window *ah_ReqIOWindow;
ULONG ah_FileType; /* SP_FILETYPE_ ... */
ULONG ah_Type; /* SP_SUBTYPE_ ... */
ULONG ah_WriteMode; /* SP_SUBTYPE_ ... */
ULONG ah_Medium; /* SPO_MEDIUM_ ... */
struct AIM_MemList *ah_ramhandle;
ULONG ah_TaskRunning; /* Bool */
ULONG ah_TaskStopNext; /* Bool */
ULONG ah_TaskRetVal; /* May already occure after AddTask(), */
/* but also while/after removing */
struct Task *ah_PlayTask;
APTR ah_PlayTaskCode;
/* For SPO Files */
struct SPOHeader *ah_SPOHeader;
APTR ah_XpkBuffer;
ULONG ah_XpkBufferSize;
struct SPO_SampleList *ah_SampleList;
struct SPO_SampleList *ah_SaveSampleList;
};
struct EightSVXSPObjectBase
{
struct SPObjectBase spb_SPObjectBase;
APTR spb_SegList; /* private part of Base Data */
APTR spb_SysBase;
APTR spb_DOSBase;
APTR spb_IntuitionBase;
APTR spb_XpkBase;
};
#endif /* SPOBJECT_H */